Part Number Hot Search : 
APT30 BD37533 G19264 BAT60B ADP3335 1608X7R ST72F 1608X7R
Product Description
Full Text Search
 

To Download VMODCAMRM Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  v v m m o o d d c c a a m m ? ? r r e e f f e e r r e e n n c c e e m m a a n n u u a a l l revision: july 19, 2011 note: this document applies to rev c of the board. 1300 ne henley court, suite 3 pullman, wa 99163 (509) 334 6306 voice | (509) 334 6300 fax doc: 502-179 page 1 of 6 copyright digilent, inc. all rights reserved. other product and company names mentioned may be tradema rks of their respective owners. overview the vmodcam board provides digital imaging capabilities for any digilent fpga system board with a vhdci connector. it features two aptina mt9d112 2-megapixel cmos digital image sensors. the sensors can provide frame rates from 15 fps upwards, depending on the resolution. its system-on-a-chip design integrates an image flow processor and enables selectable output formats, scaling, and special effects. the integrated pll (phase-locked loop) and microprocessor offer a flexible serial control interface. the output data is sent on a parallel bus in processed ycrcb, rgb, or raw bayer formats. features include: ? two independent aptina mt9d112 2- megapixel cmos digital image sensors ? 1600x1200 maximum resolution at 15 fps ? 63mm inter-camera spacing (stereo baseline) ? 10-bit raw color depth ? i 2 c control bus ? bayer, rgb, ycrcb output formats ? automatic exposure, gain, and white balance ? powerful image correction algorithms ? image scaling ? output fifo ? 68-pin female vhdci connector functional description the two mt9d112 cameras can be controlled independently and can acquire two separate, simultaneous image feeds. they are controlled by a two-wire interface. each camera has a 2 megapixel color sensor array in bayer color filter arrangement. the sensor readout is 10-bit and supports skipping or binning rows/columns. the integrated pll can generate an internal clock from the master clock and supports a wide range of resolutions and frame rates. the integrated image flow processor applies correction algorithms to improve image quality. it can process raw sensor data into rgb or ycrcb output formats, and crop or scale the image. since some of the processing algorithms output data in bursts, the parallel output interface can use a fifo buffer to provide constant data rate. the camera also features a sequencer to coordinate events triggered by the user. operation the camera systems first need to be properly configured. this includes not only setting imaging parameters like resolution or output format, but pll configuration and microprocessor sequencing too. the order in which these steps are performed is very important.
vmodcam reference manual www.digilentinc.com page 2 of 6 copyright digilent, inc. all rights reserved. other product and company names mentioned may be tradema rks of their respective owners. first, you must set up the power-up and reset sequence. then you need to understand the control interface in order to configure the cameras. the following sections describe this in detail. power-up and reset sequence the vmodcam should only be attached to the system board once the signals driven by the system board are defined. the camera uses the analog and digital supply voltage rails provided on-board. the power supplies are on by default, but can be turned off, by driving the vdd-en signal low (see table 3.) the power supplies are used by both cameras. while the cameras do power-on reset themselves, it?s always a good idea to do a full reset as part of the controller routine. figure 1 power-up sequence figure 2 reset sequence the mclk is important. if the pll in the camera is enabled, mclk should be stable. stopping mclk without respecting the reset sequence might leave the camera in an undefined state. this could be the case when the fpga is re-configured. performing a power-cycle in the first stages of the controller is recommended. description min max unit t1 vdd-en negative pulse width 100 ms t2 vdd-en high to first mclk pulse 75 us t3 t6 rom read time until first control byte 6000 mclk cycles t4 active mclk before/after #rst edge 10 mclk cycles t5 #rst negative pulse width 30 mclk cycles table 1 power-up/reset timing control interface the two-wire serial interface (sda, scl) can be used to control various parts of the camera. the camera acts as a slave device. a typical register write consists of: ? start condition ? 8-bit device address (0x78 for the mt9d112) + acknowledge bit ? upper byte of 16-bit register address + acknowledge bit ? lower byte of register address + acknowledge bit ? upper byte of the 16-bit data + acknowledge bit ? lower data byte + acknowledge bit ? stop condition.
vmodcam reference manual www.digilentinc.com page 3 of 6 copyright digilent, inc. all rights reserved. other product and company names mentioned may be tradema rks of their respective owners. a register read consists of: ? start condition ? 8-bit device address (0x78 for the mt9d112) + acknowledge bit ? upper byte of 16-bit register address + acknowledge bit ? lower byte of register address + acknowledge bit ? start condition ? 8-bit device address (0x79 for the mt9d112) + acknowledge bit ? upper byte of the 16-bit data + acknowledge bit ? lower data byte + no-acknowledge bit ? stop condition. there are two types of configuration controls, hardware registers and driver variables. the hardware registers usually control the sensor and some other sub-systems, while the driver variables sequence the on-chip microprocessor. these two types of controls are accessed differently. hardware registers are two-wire accessible, meaning their address can be used directly in the register address phase of the two-wire transfer. hardware registers are referred to by their address. for example, r[0x3000] refers to the register located at address 0x3000. driver variables can be accessed via two hardware registers, r[0x338c] and r[0x3390]. to access a variable, its address first needs to be written to r[0x338c], which is a standard two-wire register write. then, reading register r[0x3390] reads the variable and writes a value to it, thus setting the variable to that value. driver variables are referred to by their address. for example, v[0x2797] refers to the driver variable located at address 0x2797. configuration the cameras start up with their registers set to default values. this also means they are in standby. to acquire images from the cameras, both have to be initialized properly. as the power-on and reset sequences show, the camera needs certain signals set and a running mclk before the two-wire interface is enabled. once the necessary number of mclk cycles are provided, the following registers/variables need to be read/written. identify the camera: to verify that the camera is working, read r[0x3000] to return 0x1580, which is the device id of the camera. reset the mcu: 1. r[0x3386] = 0x0501 2. r[0x3386] = 0x0500; release from reset set the pll: 1. r[0x3214] = 0x0d85; this sets the slew rate of the output pins 2. r[0x341e] = 0x8f0b; power-down and bypass pll; if you want to use mclk as the pixel clock, skip steps 3-5. 3. r[0x341c][13:8] = n r[0x341c][7:0] = m; where pclk = mclk * m / (n+1) / 8. for example, to obtain a pixel clock of 80mhz (maximum) from an mclk of 24mhz, set m=80, n=2. 4. r[0x341e] = 0x8f09; power up pll, wait 1ms for the pll to stabilize 5. r[0x341e] = 0x8f08; use pll clock instead of mclk wake up from standby: 1. r[0x3202] = 0x0008 insert image parameters: you can change the image parameters to suit your project. see the image configuration example below to insert an image parameter configuration sequence.
vmodcam reference manual www.digilentinc.com page 4 of 6 copyright digilent, inc. all rights reserved. other product and company names mentioned may be tradema rks of their respective owners. enable output: 1. r[0x301a] = 0x02cc; parallel enable, drive pins, start streaming. image processing raw sensor data coming from the pixel array is fed to a color processing pipeline called an image flow processor (ifp). this is where all the image processing, correction, scaling, interpolation, and output formatting algorithms are applied. the ifp can also be bypassed, causing the camera to output the uncompressed raw 10-bit bayer data in this mode. the ifp is controlled indirectly, through microprocessor variables and the sequencer. the ifp can be controlled directly by accessing its hardware registers, but normally the on-chip microprocessor regularly adjusts these parameters. output formats mode byte d7:d0 rgb565 odd r 7 r 6 r 5 r 4 r 3 g 7 g 6 g 5 even g 4 g 3 g 2 b 7 b 6 b 5 b 4 b 3 rgb555 odd 0r 7 r 6 r 5 r 4 r 3 g 7 g 6 even g 5 g 4 g 3 b 7 b 6 b 5 b 4 b 3 rgb444x odd r 7 r 6 r 5 r 4 g 7 g 6 g 5 g 4 even b 7 b 6 b 5 b 4 0000 rgbx444 odd 0000r 7 r 6 r 5 r 4 even g 7 g 6 g 5 g 4 b 7 b 6 b 5 b 4 yuv 4*i cb 4*i+1 y 4*i+2 cr 4*i+3 y contexts the microprocessor uses two contexts, each with their own set of parameters. context a is preconfigured for preview mode. context b is for snapshot and video capture. you can set the parameters using the two-wire interface to command the sequencer to switch contexts. if the parameters being modified belong to the active mode, the changes only take effect after the refresh and refresh mode commands are executed. sequencer the sequencer is a state machine responsible for coordinating events triggered by the user. you can query the current state and instruct the sequencer to change state. the sequencer command variable v[0xa103] accepts the following values: ? 0-run ? 1-go to preview ? 2-go to capture ? 3-go to standby ? 4-do lock ? 5-refresh ? 6-refresh mode for the video capture, the video bit (bit 1) needs to set in variable v[0xa120]. otherwise, the capture state will only take a single snapshot. the sequencer state variable v[0xa104] reads: ? 0-initialize ? 1-mode change to preview ? 2-enter preview ? 3-preview ? 4-leave preview ? 5-mode change to capture ? 6-enter capture ? 7-capture ? 8-leave capture ? 9-standby
vmodcam reference manual www.digilentinc.com page 5 of 6 copyright digilent, inc. all rights reserved. other product and company names mentioned may be tradema rks of their respective owners. variable address default description context a context b bits context a context b current context (0 = a, 1 = b) 0xa702 7:0 0x0000 output width 0x2703 0x2707 15:0 800 1600 output height 0x2705 0x2709 15:0 600 1200 sensor row start 0x270d 0x272f 15:0 0 4 sensor row end 0x2711 0x2733 15:0 1213 1211 sensor column start 0x270f 0x2731 15:0 0 4 sensor column end 0x2713 0x2735 15:0 1613 1611 read mode 0x2719 0x273b 15:0 0x046c 0x0024 x-bin enable 11 0x0 0x0 xy-bin enable 10 0x1 0x0 x odd increment 7:5 0x3 0x1 y odd increment 4:2 0x3 0x1 vertical flip (0=normal) 1 0x0 0x0 horizontal flip (0=normal) 0 0x0 0x0 crop x0 0x2751 0x275f 15:0 0 0 crop x1 0x2753 0x2761 15:0 800 1600 crop y0 0x2755 0x2763 15:0 0 0 crop y1 0x2757 0x2765 15:0 600 1200 output format 0x2795 0x2797 15:0 0x0000 0x0000 processed bayer mode 8 0x0 0x0 rgb output format 0x0=rgb565 0x1=rgb555 0x2=rgb444x 0x3=rgbx444 7:6 0x0 0x0 rgb/yuv 0x1=rgb 0x0 = yuv 5 0x0 0x0 use ccir656 codes when bypassing fifo 4 0x0 0x0 monochrome output 3 0x0 0x0 progressive bayer 2 0x0 0x0 swap chrominance/luminance bytes in yuv, swap odd/e ven bytes in rgb 1 0x0 0x0 swap cr/cb in yuv, swap r/b in rgb 0 0x0 0x0 table 2 image parameters
vmodcam reference manual www.digilentinc.com page 6 of 6 copyright digilent, inc. all rights reserved. other product and company names mentioned may be tradema rks of their respective owners. image configuration example the following commands can be inserted into the initialization sequence to configure the camera for 16-bit rgb565 output and 1600x1200 resolution in video capture mode. note that most of these parameters are driver variables and can be accessed as described in the control interface section above. 1. v[0x2797] = 0x0030; context b output format rgb565 2. v[0x2707] = 0x0640; output width 1600 3. v[0x2709] = 0x04b0; output height 1200 4. v[0x275f] = 0x0000; crop x0 0 5. v[0x2763] = 0x0000; crop y0 0 6. v[0x2761] = 0x0640; crop x1 1600 7. v[0x2765] = 0x04b0; crop x1 1200 8. v[0x2741] = 0x0169; auto exposure/gain fix 9. v[0xa120] = 0x00f2; auto white balance, auto exposure, auto histogram, video on in capture mode 10. v[0xa103] = 0x0002; sequencer refresh mode 11. read v[0xa103] until == 0x0000, meaning the command got executed. vhdci connector the vmodcam should only be attached to the system board once the signals driven by the system board are defined. cam1 refers to ic2, the camera on the lower part of the pcb. cam2 refers to ic6, the camera on the upper part of the pcb. vhdci cam vhdci cam io1-p cam1_d3 io1-n vdd-en io2-p cam1_d4 io2-n cam1_d2 io3-p cam1_d5 io3-n cam1_reset io4-p cam1_d6 io4-n cam1_mclk io5-p cam1_d7 io5-n cam1_pwdn io6-p cam1_fv io6-n cam1_scl io7-p cam1_lv io7-n cam1_sda io8-p cam1_d0 io8-n nc io9-p cam1_d1 io9-n nc io10-p cam1_pclk io10-n nc io11-p cam2_pclk io11-n nc io12-p cam2_d2 io12-n cam2_pwdn io13-p cam2_d3 io13-n cam2_reset io14-p cam2_d4 io14-n cam2_mclk io15-p cam2_d5 io15-n nc io16-p cam2_d6 io16-n cam2_scl io17-p cam2_d7 io17-n cam2_sda io18-p cam2_fv io18-n nc io19-p cam2_lv io19-n nc io20-p cam2_d0 io20-n cam2_d1 table 3 vhdci connector pin-out camera output camera input


▲Up To Search▲   

 
Price & Availability of VMODCAMRM

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X